
public class Test {
    public static void main(String[] args) {
        Outer o = new Outer();
        Outer.Inner i = o.new Inner(); // 必须通过外部实例创建
        i.hello();
    }
}
// 非静态成员类（inner member class）
// 没有 static 修饰，每个内部对象都隐式持有外部类 Outer.this 引用。
// 可访问外部类 所有成员（静态 + 实例，包括 private）。
// 创建语法：Outer.Inner obj = outerInstance.new Inner();

class Outer {
    String name = "Outer";
    static int x = 10;

    class Inner {
        void hello() {
            System.out.println("Hello, " + Outer.this.name);
            System.out.println("x = " + x);
        }
    }
}